// - import { request } from 'umi'
// 引入获取tags数据的请求方法
import { getTags } from '@/services/tags'

// - 获取/api/tags接口的标签数据
// - const getTags = () => {
// -   return request('/api/tags')
// - }

export default {
  //调用dva的时候，通过命名空间调用，不要和其他model重名
  namespace: "tags",
  //组件状态，跟react中的state类似，和redux中保存的state一样
  state: {
    tagsList: []
  },
  //调用服务端接口，用于获取外部数据
  effects: {
    *fetchTags({ payload, callback }, { put, call }) {
      // 获取tags数据，使用yield语法变为同步操作
      const response = yield call(getTags, payload)
      // 调用reducers，并传递数据
      yield put({
        type: "setTagsList", //类似于 redux 中 action 的type
        payload: response
      })
    }
  },
  //更新state
  reducers: {
    setTagsList(state, action) {
      return { ...state, tagsList: action.payload }
    }
  },
}